package nk;

import java.util.Scanner;

/**
 * 题目描述
 * <p>
 * Catcher 是MCA国的情报员，他工作时发现敌国会用一些对称的密码进行通信，比如像这些ABBA，ABA，A，123321，
 * 但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214　。
 * 因为截获的串太长了，而且存在多种可能的情况（abaaab可看作是aba,或baaab的加密形式），Cathcer的工作量实在是太大了，他只能向电脑高手求助，
 * 你能帮Catcher找出最长的有效密码串吗？
 * <p>
 * （注意：记得加上while处理多个测试用例）
 */
public class PassWord {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String str = sc.nextLine();
            System.out.println(todoPassWord(str));
        }

    }

    private static int todoPassWord(String str) {
        int len = str.length();
        if (len == 0) {
            return 0;
        }
        char last = str.charAt(len - 1);
        char first = str.charAt(0);
        int res = 0;
        for (int i = 0; i < len - 1; i++) {
            if (str.charAt(i) == last)
                res = Math.max(res, len - i);
        }
        for (int i = len - 1; i > 0; i--) {
            if (str.charAt(i) == first)
                res = Math.max(res, i + 1);
        }
        return res;
    }
}